package com.dragon.modules.yuegou.model.merchant;

import com.dragon.modules.yuegou.entity.merchant.ThemeEntity;
import com.dragon.modules.yuegou.enums.merchant.ThemeIsDefault;
import com.dragon.modules.yuegou.enums.merchant.ThemeStatus;
import com.dragon.modules.yuegou.enums.merchant.ThemeType;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 模板管理模型类
 * 
 * @author pbuilder generated
 * @date 2019-09-23 15:31:49
 * @company sgy
 * @version 2.0
 * @see Length 长度限制
 * @see NotNull 对象非空
 * @see NotEmpty 字符串、集合、表、数组非空
 */
public class Theme extends ThemeEntity {

	private String createdName;

	/**
	 * 构造一个空模板管理模型对象
	 */
	public Theme() {
		super();
	}

	/**
	 * 依据实体对象的信息构造一个模板管理模型对象
	 * 
	 * @param entity
	 *            实体对象
	 */
	public Theme(ThemeEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它对象的信息构造一个模板管理模型对象
	 * 
	 * @param other
	 *            其它对象
	 */
	public Theme(Theme other) {
		super(other);
	}

	@Override
	public String getId() {
		return id;
	}

	/**
	 * 设置
	 * 
	 * @param id
	 * @return 当前对象
	 */
	public Theme id(String id) {
		this.id = id;
		return this;
	}

	@Override
	public String getName() {
		return name;
	}

	/**
	 * 设置模板名称
	 * 
	 * @param name
	 *            模板名称
	 * @return 当前对象
	 */
	public Theme name(String name) {
		this.name = name;
		return this;
	}

	@Override
	public ThemeType getType() {
		return type;
	}

	/**
	 * 设置[枚举]模板类型：0-常用模板-COMMONTEMPLATE、1-活动模板-ACTIVETEMPLATE
	 * 
	 * @param type
	 *            [枚举]模板类型：0-常用模板-COMMONTEMPLATE、1-活动模板-ACTIVETEMPLATE
	 * @return 当前对象
	 */
	public Theme type(ThemeType type) {
		this.type = type;
		return this;
	}

	@Override
	public String getFormId() {
		return formId;
	}

	/**
	 * 设置适用业态ID
	 * 
	 * @param formId
	 *            适用业态ID
	 * @return 当前对象
	 */
	public Theme formId(String formId) {
		this.formId = formId;
		return this;
	}

	@Override
	public String getFormName() {
		return formName;
	}

	/**
	 * 设置适用业态名称
	 * 
	 * @param formName
	 *            适用业态名称
	 * @return 当前对象
	 */
	public Theme formName(String formName) {
		this.formName = formName;
		return this;
	}

	@Override
	public String getLevelId() {
		return levelId;
	}

	/**
	 * 设置可适用等级ID
	 * 
	 * @param levelId
	 *            可适用等级ID
	 * @return 当前对象
	 */
	public Theme levelId(String levelId) {
		this.levelId = levelId;
		return this;
	}

	@Override
	public String getLevelName() {
		return levelName;
	}

	/**
	 * 设置可适用等级名称
	 * 
	 * @param levelName
	 *            可适用等级名称
	 * @return 当前对象
	 */
	public Theme levelName(String levelName) {
		this.levelName = levelName;
		return this;
	}

	@Override
	public ThemeStatus getStatus() {
		return status;
	}

	/**
	 * 设置[枚举]状态：0-下架-DOWN、1-上架-PUTAWAY
	 * 
	 * @param status
	 *            [枚举]状态：0-下架-DOWN、1-上架-PUTAWAY
	 * @return 当前对象
	 */
	public Theme status(ThemeStatus status) {
		this.status = status;
		return this;
	}

	@Override
	public ThemeIsDefault getIsDefault() {
		return isDefault;
	}

	/**
	 * 设置[枚举]是否默认：0-否-NO、1-是-YES
	 * 
	 * @param isDefault
	 *            [枚举]是否默认：0-否-NO、1-是-YES
	 * @return 当前对象
	 */
	public Theme isDefault(ThemeIsDefault isDefault) {
		this.isDefault = isDefault;
		return this;
	}

	@Override
	public String getStoreDemoImg() {
		return storeDemoImg;
	}

	/**
	 * 设置悦主页效果图
	 * 
	 * @param storeDemoImg
	 *            悦主页效果图
	 * @return 当前对象
	 */
	public Theme storeDemoImg(String storeDemoImg) {
		this.storeDemoImg = storeDemoImg;
		return this;
	}

	@Override
	public String getStoreStyleImgMain() {
		return storeStyleImgMain;
	}

	/**
	 * 设置悦主页-背景样式主图
	 * 
	 * @param storeStyleImgMain
	 *            悦主页-背景样式主图
	 * @return 当前对象
	 */
	public Theme storeStyleImgMain(String storeStyleImgMain) {
		this.storeStyleImgMain = storeStyleImgMain;
		return this;
	}

	@Override
	public String getStoreStyleImgRepeat() {
		return storeStyleImgRepeat;
	}

	/**
	 * 设置悦主页-背景样式平铺图
	 * 
	 * @param storeStyleImgRepeat
	 *            悦主页-背景样式平铺图
	 * @return 当前对象
	 */
	public Theme storeStyleImgRepeat(String storeStyleImgRepeat) {
		this.storeStyleImgRepeat = storeStyleImgRepeat;
		return this;
	}

	@Override
	public String getNavColor() {
		return navColor;
	}

	/**
	 * 设置导航色值
	 * 
	 * @param navColor
	 *            导航色值
	 * @return 当前对象
	 */
	public Theme navColor(String navColor) {
		this.navColor = navColor;
		return this;
	}

	@Override
	public String getBtnLeftColor() {
		return btnLeftColor;
	}

	/**
	 * 设置左边按钮色值
	 * 
	 * @param btnLeftColor
	 *            左边按钮色值
	 * @return 当前对象
	 */
	public Theme btnLeftColor(String btnLeftColor) {
		this.btnLeftColor = btnLeftColor;
		return this;
	}

	@Override
	public String getBtnRightColor() {
		return btnRightColor;
	}

	/**
	 * 设置右边按钮色值
	 * 
	 * @param btnRightColor
	 *            右边按钮色值
	 * @return 当前对象
	 */
	public Theme btnRightColor(String btnRightColor) {
		this.btnRightColor = btnRightColor;
		return this;
	}

	@Override
	public String getDetailDemoImg() {
		return detailDemoImg;
	}

	/**
	 * 设置详情页-效果图
	 * 
	 * @param detailDemoImg
	 *            详情页-效果图
	 * @return 当前对象
	 */
	public Theme detailDemoImg(String detailDemoImg) {
		this.detailDemoImg = detailDemoImg;
		return this;
	}

	@Override
	public String getDetailStyleImgMain() {
		return detailStyleImgMain;
	}

	/**
	 * 设置详情页-背景样式主图
	 * 
	 * @param detailStyleImgMain
	 *            详情页-背景样式主图
	 * @return 当前对象
	 */
	public Theme detailStyleImgMain(String detailStyleImgMain) {
		this.detailStyleImgMain = detailStyleImgMain;
		return this;
	}

	@Override
	public String getDetailStyleImgRepeat() {
		return detailStyleImgRepeat;
	}

	/**
	 * 设置详情页-背景样式平铺图
	 * 
	 * @param detailStyleImgRepeat
	 *            详情页-背景样式平铺图
	 * @return 当前对象
	 */
	public Theme detailStyleImgRepeat(String detailStyleImgRepeat) {
		this.detailStyleImgRepeat = detailStyleImgRepeat;
		return this;
	}

	@Override
	public String getDescription() {
		return description;
	}

	/**
	 * 设置备注
	 * 
	 * @param description
	 *            备注
	 * @return 当前对象
	 */
	public Theme description(String description) {
		this.description = description;
		return this;
	}

	@Override
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}

	/**
	 * 设置创建时间
	 * 
	 * @param createdTime
	 *            创建时间
	 * @return 当前对象
	 */
	public Theme createdTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
		return this;
	}

	@Override
	public String getCreatedBy() {
		return createdBy;
	}

	public void setCreatedName(String createdName) {
		this.createdName = createdName;
	}

	public String getCreatedName() {
		return createdName;
	}

	/**
	 * 设置创建者
	 * 
	 * @param createdBy
	 *            创建者
	 * @return 当前对象
	 */
	public Theme createdBy(String createdBy) {
		this.createdBy = createdBy;
		return this;
	}

	@Override
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}

	/**
	 * 设置更新时间
	 * 
	 * @param modifiedTime
	 *            更新时间
	 * @return 当前对象
	 */
	public Theme modifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
		return this;
	}

	@Override
	public String getModifiedBy() {
		return modifiedBy;
	}

	/**
	 * 设置更新人ID
	 * 
	 * @param modifiedBy
	 *            更新人ID
	 * @return 当前对象
	 */
	public Theme modifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
		return this;
	}

}
